var nameList = [];
var valueList = [];

$(function() {
	$('#file-pretty input[type="file"]').prettyFile();
	initChart();
});

function initChart() {
	$.ajax({
		cache : false,
		async : false,
		type : "POST",
		url : "/echartList",
		data : {},// 你的formid
		error : function(request) {
			console.log("HHHH");
		},
		success : function(data) {
			if (data) {
				for (i = 0; i < data.length; i++) {
					nameList.push(data[i].name);
					valueList.push(data[i].value);
				}
			}
			if (data) {
				var optionBar = {
					title : {
						text : '柱状图'
					},
					tooltip : {},
					legend : {
						data : [ '葫芦娃' ]
					},
					xAxis : {
						data : nameList
					},
					yAxis : {},
					series : [ {
						name : '葫芦娃',
						type : 'bar',
						data : valueList,
						itemStyle : {
							normal : {
								label : {
									show : true, // 开启显示
									position : 'top', // 在上方显示
									textStyle : { // 数值样式
										color : 'black',
										fontSize : 16
									}
								}
							}
						},

					} ]

				};
				var optionLine = {
					title : {
						text : '折线图'
					},
					xAxis : {
						type : 'category',
						data : nameList
					},
					yAxis : {
						type : 'value'
					},
					series : [ {
						data : valueList,
						type : 'line',
						itemStyle : {
							normal : {
								label : {
									show : true
								}
							}
						}
					} ]
				};
				// var barData = genData(nameList.length);
				var optionPie = {
					title : {
						text : '扇形图',
						subtext : '纯属虚构',
						x : 'center'
					},
					tooltip : {
						trigger : 'item',
						formatter : "{a} <br/>{b} : {c} ({d}%)"
					},
					legend : {
						orient : 'vertical',
						left : 'left',
						data : nameList
					},
					series : [ {
						name : '姓名',
						type : 'pie',
						radius : '55%',
						center : [ '50%', '60%' ],
						data : data,
						itemStyle : {
							emphasis : {
								shadowBlur : 10,
								shadowOffsetX : 0,
								shadowColor : 'rgba(0, 0, 0, 0.5)'
							},
							normal : {
								label : {
									show : true,
									formatter : '{b} : {c} ({d}%)'
								},
								labelLine : {
									show : true
								}
							}
						}

					} ]
				};
				barChart.clear();
				lineChart.clear();
				pieChart.clear();

				barChart.setOption(optionBar);
				if (optionLine && typeof optionLine === "object") {
					lineChart.setOption(optionLine, true);
				}
				if (optionPie && typeof optionPie === "object") {
					pieChart.setOption(optionPie, true);
				}
			}
		}
	});
}

// 基于准备好的dom，初始化echarts实例
var barChart = echarts.init(document.getElementById('bar'));
var lineChart = echarts.init(document.getElementById('line'));
var pieChart = echarts.init(document.getElementById('pie'));

function importExcel() {

	var filename = $("#file-pretty > div > div > div > input").val();
	var suffix = filename.substr(filename.lastIndexOf(".") + 1)
	if (!suffix
			|| (suffix.toUpperCase() != 'XLS' && suffix.toUpperCase() != 'XLSX')) {
		alert("请选择Excel文件");
		return;
	}
	toImportExcel();
}
function toImportExcel() {
	var formData = new FormData($('#uploadForm')[0]);
	nameList = [];
	valueList = [];
	$.ajax({
		cache : false,
		async : false,
		type : "POST",
		url : "/exportExcel",
		data : formData,// 你的formid
		processData : false,// 告诉jQuery不要去处理发送的数据(必须设置)
		contentType : false, // 告诉jQuery不要去设置Content-Type请求头（必须设置）
		error : function(request) {
			console.log("HHHH");
		},
		success : function(data) {
			if (data) {
				for (i = 0; i < data.length; i++) {
					nameList.push(data[i].name);
					valueList.push(data[i].value);
				}
			}
			if (data) {
				var optionBar = {
					title : {
						text : '柱状图'
					},
					tooltip : {},
					legend : {
						data : [ '葫芦娃' ]
					},
					xAxis : {
						data : nameList
					},
					yAxis : {},
					series : [ {
						name : '葫芦娃',
						type : 'bar',
						data : valueList,
						itemStyle : {
							normal : {
								label : {
									show : true, // 开启显示
									position : 'top', // 在上方显示
									textStyle : { // 数值样式
										color : 'black',
										fontSize : 16
									}
								}
							}
						},
					} ]

				};
				var optionLine = {
					title : {
						text : '折线图'
					},
					xAxis : {
						type : 'category',
						data : nameList
					},
					yAxis : {
						type : 'value'
					},
					series : [ {
						data : valueList,
						type : 'line',
						itemStyle : {
							normal : {
								label : {
									show : true
								}
							}
						}
					} ]
				};
				// var barData = genData(nameList.length);
				var optionPie = {
					title : {
						text : '扇形图',
						subtext : '纯属虚构',
						x : 'center'
					},
					tooltip : {
						trigger : 'item',
						formatter : "{a} <br/>{b} : {c} ({d}%)"
					},
					legend : {
						orient : 'vertical',
						left : 'left',
						data : nameList
					},
					series : [ {
						name : '姓名',
						type : 'pie',
						radius : '55%',
						center : [ '50%', '60%' ],
						data : data,
						itemStyle : {
							emphasis : {
								shadowBlur : 10,
								shadowOffsetX : 0,
								shadowColor : 'rgba(0, 0, 0, 0.5)'
							},
							normal : {
								label : {
									show : true,
									formatter : '{b} : {c} ({d}%)'
								},
								labelLine : {
									show : true
								}
							}
						}
					} ]
				};
				barChart.setOption(optionBar);
				if (optionLine && typeof optionLine === "object") {
					lineChart.setOption(optionLine, true);
				}
				if (optionPie && typeof optionPie === "object") {
					pieChart.setOption(optionPie, true);
				}
			}
		}
	});
}

function genData(count) {
	var legendData = [];
	var seriesData = [];
	var selected = {};
	for (var i = 0; i < count; i++) {
		name = Math.random() > 0.65 ? makeWord(4, 1) + '·' + makeWord(3, 0)
				: makeWord(2, 1);
		legendData.push(name);
		seriesData.push({
			name : name,
			value : Math.round(Math.random() * 100000)
		});
		selected[name] = i < 6;
	}

	return {
		legendData : legendData,
		seriesData : seriesData,
		selected : selected
	};

	function makeWord(max, min) {
		var nameLen = Math.ceil(Math.random() * max + min);
		var name = [];
		for (var i = 0; i < nameLen; i++) {
			name
					.push(nameList[Math.round(Math.random() * nameList.length
							- 1)]);
		}
		return name.join('');
	}
}
